home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / python2.6 / token.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2009-11-11  |  4KB  |  151 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. '''Token constants (from "token.h").'''
  5. ENDMARKER = 0
  6. NAME = 1
  7. NUMBER = 2
  8. STRING = 3
  9. NEWLINE = 4
  10. INDENT = 5
  11. DEDENT = 6
  12. LPAR = 7
  13. RPAR = 8
  14. LSQB = 9
  15. RSQB = 10
  16. COLON = 11
  17. COMMA = 12
  18. SEMI = 13
  19. PLUS = 14
  20. MINUS = 15
  21. STAR = 16
  22. SLASH = 17
  23. VBAR = 18
  24. AMPER = 19
  25. LESS = 20
  26. GREATER = 21
  27. EQUAL = 22
  28. DOT = 23
  29. PERCENT = 24
  30. BACKQUOTE = 25
  31. LBRACE = 26
  32. RBRACE = 27
  33. EQEQUAL = 28
  34. NOTEQUAL = 29
  35. LESSEQUAL = 30
  36. GREATEREQUAL = 31
  37. TILDE = 32
  38. CIRCUMFLEX = 33
  39. LEFTSHIFT = 34
  40. RIGHTSHIFT = 35
  41. DOUBLESTAR = 36
  42. PLUSEQUAL = 37
  43. MINEQUAL = 38
  44. STAREQUAL = 39
  45. SLASHEQUAL = 40
  46. PERCENTEQUAL = 41
  47. AMPEREQUAL = 42
  48. VBAREQUAL = 43
  49. CIRCUMFLEXEQUAL = 44
  50. LEFTSHIFTEQUAL = 45
  51. RIGHTSHIFTEQUAL = 46
  52. DOUBLESTAREQUAL = 47
  53. DOUBLESLASH = 48
  54. DOUBLESLASHEQUAL = 49
  55. AT = 50
  56. OP = 51
  57. ERRORTOKEN = 52
  58. N_TOKENS = 53
  59. NT_OFFSET = 256
  60. tok_name = { }
  61. for _name, _value in globals().items():
  62.     if type(_value) is type(0):
  63.         tok_name[_value] = _name
  64.         continue
  65.  
  66. del _name
  67. del _value
  68.  
  69. def ISTERMINAL(x):
  70.     return x < NT_OFFSET
  71.  
  72.  
  73. def ISNONTERMINAL(x):
  74.     return x >= NT_OFFSET
  75.  
  76.  
  77. def ISEOF(x):
  78.     return x == ENDMARKER
  79.  
  80.  
  81. def main():
  82.     import re as re
  83.     import sys as sys
  84.     args = sys.argv[1:]
  85.     if not args or args[0]:
  86.         pass
  87.     inFileName = 'Include/token.h'
  88.     outFileName = 'Lib/token.py'
  89.     if len(args) > 1:
  90.         outFileName = args[1]
  91.     
  92.     
  93.     try:
  94.         fp = open(inFileName)
  95.     except IOError:
  96.         err = None
  97.         sys.stdout.write('I/O error: %s\n' % str(err))
  98.         sys.exit(1)
  99.  
  100.     lines = fp.read().split('\n')
  101.     fp.close()
  102.     prog = re.compile('#define[ \t][ \t]*([A-Z0-9][A-Z0-9_]*)[ \t][ \t]*([0-9][0-9]*)', re.IGNORECASE)
  103.     tokens = { }
  104.     for line in lines:
  105.         match = prog.match(line)
  106.         if match:
  107.             (name, val) = match.group(1, 2)
  108.             val = int(val)
  109.             tokens[val] = name
  110.             continue
  111.     
  112.     keys = tokens.keys()
  113.     keys.sort()
  114.     
  115.     try:
  116.         fp = open(outFileName)
  117.     except IOError:
  118.         err = None
  119.         sys.stderr.write('I/O error: %s\n' % str(err))
  120.         sys.exit(2)
  121.  
  122.     format = fp.read().split('\n')
  123.     fp.close()
  124.     
  125.     try:
  126.         start = format.index('#--start constants--') + 1
  127.         end = format.index('#--end constants--')
  128.     except ValueError:
  129.         sys.stderr.write('target does not contain format markers')
  130.         sys.exit(3)
  131.  
  132.     lines = []
  133.     for val in keys:
  134.         lines.append('%s = %d' % (tokens[val], val))
  135.     
  136.     format[start:end] = lines
  137.     
  138.     try:
  139.         fp = open(outFileName, 'w')
  140.     except IOError:
  141.         err = None
  142.         sys.stderr.write('I/O error: %s\n' % str(err))
  143.         sys.exit(4)
  144.  
  145.     fp.write('\n'.join(format))
  146.     fp.close()
  147.  
  148. if __name__ == '__main__':
  149.     main()
  150.  
  151.